package c.x.jy.dao.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * 订单账单表
 * 
 * @author amwhyh
 * @email xxx@xx.com
 * @date 2021-05-25 10:50:17
 */
@Data
@TableName("t_order_bill")
public class OrderBillEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 账单ID
	 */
	@TableId
	private Long id;
	/**
	 * 关联的订单ID
	 */
	private Long orderId;
	/**
	 * 会员ID
	 */
	private Long memberId;
	/**
	 * 商家ID
	 */
	private Long businessId;
	/**
	 * 交易单号 付款凭证
	 */
	private String transNumber;
	/**
	 * 商户单号
	 */
	private String orderNo;
	/**
	 * 支付类型，0-微信支付,1-余额支付，2-佣金支付,3-赠送余额支付
	 */
	private Integer payType;
	/**
	 * 订单总金额
	 */
	private BigDecimal originalPrice;
	/**
	 * 折扣价格
	 */
	private BigDecimal discountPrice;
	/**
	 * 券ID
	 */
	private Long couponId;
	/**
	 * 券抵用金额
	 */
	private BigDecimal couponPrice;
	/**
	 * 券使用说明
	 */
	private String couponDesc;
	/**
	 * 券消费记录ID
	 */
	private Long couponTransId;
	/**
	 * 积分消费记录ID
	 */
	private Long integralTransId;
	/**
	 * 积分消费数量
	 */
	private Integer integralCount;
	/**
	 * 积分抵用金额
	 */
	private BigDecimal integralPrice;
	/**
	 * 会员卡ID
	 */
	private Long vipId;
	/**
	 * 会员卡消费记录ID
	 */
	private Long vipTransId;
	/**
	 * 会员卡抵用金额
	 */
	private BigDecimal vipPrice;
	/**
	 * 实际支付金额
	 */
	private BigDecimal actualPrice;
	/**
	 * 0-未付，1-已付，2-已确认
	 */
	private Integer status;
	/**
	 * 创建时间
	 */
	private Date createDate;
	/**
	 * 分佣状态  分佣状态 0未分 1部份分 2已分S
	 */
	
	private Integer	commisionStatus;
	/**
	 * 备注
	 */
	private String commont;
	//支付时间
	private Date payDatetime;

	@TableField(exist = false)
	private List<OrderItemsEntity> itemlist;

     public BigDecimal getOriginalPrice(){
     	if(itemlist!=null&&!itemlist.isEmpty()){
			BigDecimal total=BigDecimal.ZERO;
			for (OrderItemsEntity i : itemlist ) {
				total=total.add(i.getOriginalPrice());
			}
			return total;
		}
     	return originalPrice;

	 }
     
     public BigDecimal   getDiscountPrice() {
    	   	if(itemlist!=null&&!itemlist.isEmpty()){
    			BigDecimal total=BigDecimal.ZERO;
    			for (OrderItemsEntity i : itemlist ) {
    				total=total.add(i.getDiscountPrice());
    			}
    			return total;
    		}
         	return discountPrice;
     }
}

